FROM docker.wencst.com:5000/jenkins:latest
# 下载安装Docker CLI
# RUN curl -O https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz
USER root
COPY docker17.05.tar.gz /home/
COPY jdk-7u80-linux-x64.tar.gz /home/
# 注意修改maven的默认本地路径，可能在docker中会导致无权写入，我这里修改为JENKINS_HOME下的一个目录了
COPY maven3.5.0.tar.gz /home/
# 下载node，我用的是6.11的linux版本
# RUN curl -O http://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.gz
COPY node-v6.11.0-linux-x64.tar.gz /home/
ENV PATH="/usr/java/jdk1.7.0_80/bin:/usr/local/maven3.5.0/bin:/usr/local/node-v6.11.0-linux-x64/bin:${PATH}"
ENV JAVA_HOME="/usr/java/jdk1.7.0_80"
WORKDIR /home/
RUN tar zxvf docker17.05.tar.gz -C /usr/local/bin/ \
    && rm -rf docker17.05.tar.gz \
    && tar zxvf maven3.5.0.tar.gz -C /usr/local/ \
    && rm -rf maven3.5.0.tar.gz \
    && tar -zxvf node-v6.11.0-linux-x64.tar.gz -C /usr/local/ \
    && rm -rf node-v6.11.0-linux-x64.tar.gz \
# 注意此处无法使用export改变环境变量
#    && export PATH="/usr/java/jdk1.7.0_80/bin:/usr/local/maven3.5.0/bin:/usr/local/node-v6.11.0-linux-x64/bin:${PATH}" \
#    && export JAVA_HOME="/usr/java/jdk1.7.0_80" \
    && npm install -g cnpm --registry=https://registry.npm.taobao.org \
    && cnpm install @angular/cli -g \
# 这一步修改java其实非必须，openJDK与sunJDK在1.7版本上只是有字体的区别，所以可不用修改
    && mkdir /usr/java/ \
    && tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/java/ \
    && rm -rf jdk-7u80-linux-x64.tar.gz \
#注意此处必须两个时间地方都要修改，第一个是改系统时区，第二个是改jenkins的时区
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo 'Asia/Shanghai' > /etc/timezone
# 将 `jenkins` 用户的组 ID 改为宿主 `docker` 组的组ID，从而具有执行 `docker` 命令的权限。查看docker命令所属组，可以通过`cat /etc/groups | grep root`来查看
ARG DOCKER_GID=117
USER jenkins:${DOCKER_GID}
